package com.itheima.health.service;

import com.itheima.health.entity.PageResult;
import com.itheima.health.entity.QueryPageBean;
import com.itheima.health.pojo.Role;

import java.util.List;

public interface RoleService {
    /**
     * 分页查询角色信息
     * @param queryPageBean
     * @return
     */
    PageResult findPage(QueryPageBean queryPageBean);

    /**
     * 添加角色
     * @param role
     * @param menuIds
     * @param permissionIds
     */
    void add(Role role,Integer[] permissionIds,Integer[] menuIds);

    /**
     * 请求回显角色信息
     * @param id
     * @return
     */
    Role findById(Integer id);

    /**
     * 回显角色权限关联ID
     * @param id
     * @return
     */
    List<Integer> findRoleIdByPermissionIds(Integer id);

    /**
     * 编辑角色信息
     * @param role
     * @param permissionIds
     */
    void edit(Role role, Integer[] permissionIds,Integer[] menuIds);

    /**
     * 删除角色
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 回显角色菜单关联ID
     * @param id
     * @return
     */
    List<Integer> findRoleIdByMenuIds(Integer id);

    /**
     * 查询所有角色
     * @return
     */
    List<Role> findAll();
}
